//package com.inspur.edp.cef.generator.coreGenerator.base.serializer.nestedserialize;
//
//import com.inspur.edp.caf.generator.baseInfo.TypeInfo;
//import com.inspur.edp.caf.generator.item.ClassGenerator;
//import com.inspur.edp.caf.generator.item.ClassGeneratorContext;
//import com.inspur.edp.caf.generator.method.ClassMethodGenerator;
//import com.inspur.edp.cef.designtime.api.IGspCommonField;
//import com.inspur.edp.cef.generator.coreGenerator.base.entityGenerator.CefDataTypeImplGeneratorContext;
//import com.inspur.edp.udt.spi.json.AbstractAssoInfoSerializeItem;
//import java.util.ArrayList;
//import java.util.Arrays;
//import org.eclipse.jdt.core.dom.Modifier.ModifierKeyword;
//
//public class EnrichedAssociationSerializerGenerator extends ClassGenerator {
//
//  private final IGspCommonField field;
//  private final CefDataTypeImplGeneratorContext projectInfo;
//
//  public EnrichedAssociationSerializerGenerator(CefDataTypeImplGeneratorContext projectInfo,
//      IGspCommonField field) {
//    super(projectInfo.coreGenContext.getCompilationUnitInfo());
//    this.projectInfo = projectInfo;
//    this.field = field;
//  }
//
//  @Override
//  protected ClassGeneratorContext createClassInfoContext() {
//    return new ClassGeneratorContext();
//  }
//
//  @Override
//  protected java.util.ArrayList<ModifierKeyword> getAccessModifier() {
//    return new java.util.ArrayList<ModifierKeyword>(
//        java.util.Arrays.asList(new ModifierKeyword[]{ModifierKeyword.PUBLIC_KEYWORD}));
//  }
//
//  @Override
//  protected String getName() {
//    return getName(field);
//  }
//
//  public static String getName(IGspCommonField field) {
//    return field.getLabelID().concat("EnrichedAssoSerializer");
//  }
//
//  @Override
//  protected TypeInfo setParentClass() {
//    return new TypeInfo(AbstractAssoInfoSerializeItem.class);
//  }
//
//  @Override
//  protected ArrayList<ClassMethodGenerator> createMethodGenerators() {
//    return new ArrayList(Arrays.asList(
//        new EnrichedWriteMethodGenerator(projectInfo, field),
//        new EnrichedReadMethodGenerator(field)));
//  }
//}
